package co.com.smart.persistence.entity.dto;

import java.io.Serializable;

import javax.persistence.*;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;


/**
 * The persistent class for the smart_persona database table.
 * 
 */
@Entity
@Table(name="smart_persona")
@NamedQuery(name="SmartPersona.findAll", query="SELECT s FROM SmartPersona s")
public class SmartPersona implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	@Column(name="sm_scpersona")
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	private BigDecimal smScpersona;
	
	@Column(name="sm_dspnombre")
	private String smDspnombre;
	
	@Column(name="sm_dssnombre")
	private String smDssnombre;
	
	@Column(name="sm_dspapellido")
	private String smDspapellido;
	
	@Column(name="sm_dssapellido")
	private String smDssapellido;

	@Column(name="sm_dsidentificacion")
	private String smDsidentificacion;
	
	@Column(name="sm_dsdireccion")
	private String smDsdireccion;


	@Column(name="sm_dstelefono1")
	private String smDstelefono1;

	@Column(name="sm_dstelefono2")
	private String smDstelefono2;
	

	@Column(name="sm_dscelular")
	private String smDscelular;


	@Column(name="sm_dsemail")
	private String smDsemail;
	
	@Column(name="sm_cousuario")
	private String smCousuario;
	
	@Column(name="sm_dssexo")
	private String smSexo;

	@Temporal(TemporalType.DATE)
	@Column(name="sm_fhingreso")
	private Date smFhingreso;
	
	@Temporal(TemporalType.DATE)
	@Column(name="sm_fhnacimiento")
	private Date smFhnacimiento;

	@Temporal(TemporalType.DATE)
	@Column(name="sm_fhmodificacion")
	private Date smFhmodificacion;

	@Temporal(TemporalType.DATE)
	@Column(name="sm_fhretiro")
	private Date smFhretiro;

	@Column(name="sm_dstipoidentificacion")
	private String smdstipoidentificacion;

	//bi-directional many-to-one association to SmartMedico
	@OneToMany(cascade = CascadeType.ALL,mappedBy="smartPersona", fetch = FetchType.LAZY)
	private List<SmartMedico> smartMedicos;

	//bi-directional many-to-one association to SmartPaciente
	@OneToMany(cascade = CascadeType.ALL,mappedBy="smartPersona", fetch = FetchType.LAZY)
	private List<SmartPaciente> smartPacientes;

	
	public String getSmSexo() {
		return smSexo;
	}

	public void setSmSexo(String smSexo) {
		this.smSexo = smSexo;
	}

	public Date getSmFhnacimiento() {
		return smFhnacimiento;
	}

	public void setSmFhnacimiento(Date smFhnacimiento) {
		this.smFhnacimiento = smFhnacimiento;
	}

	public SmartPersona() {
	}

	public BigDecimal getSmScpersona() {
		return this.smScpersona;
	}

	public void setSmScpersona(BigDecimal smScpersona) {
		this.smScpersona = smScpersona;
	}

	public String getSmCousuario() {
		return this.smCousuario;
	}

	public void setSmCousuario(String smCousuario) {
		this.smCousuario = smCousuario;
	}

	public String getSmDscelular() {
		return this.smDscelular;
	}

	public void setSmDscelular(String smDscelular) {
		this.smDscelular = smDscelular;
	}

	public String getSmDsdireccion() {
		return this.smDsdireccion;
	}

	public void setSmDsdireccion(String smDsdireccion) {
		this.smDsdireccion = smDsdireccion;
	}

	public String getSmDsemail() {
		return this.smDsemail;
	}

	public void setSmDsemail(String smDsemail) {
		this.smDsemail = smDsemail;
	}

	public String getSmDsidentificacion() {
		return this.smDsidentificacion;
	}

	public void setSmDsidentificacion(String smDsidentificacion) {
		this.smDsidentificacion = smDsidentificacion;
	}

	public String getSmDspapellido() {
		return this.smDspapellido;
	}

	public void setSmDspapellido(String smDspapellido) {
		this.smDspapellido = smDspapellido;
	}

	public String getSmDspnombre() {
		return this.smDspnombre;
	}

	public void setSmDspnombre(String smDspnombre) {
		this.smDspnombre = smDspnombre;
	}

	public String getSmDssapellido() {
		return this.smDssapellido;
	}

	public void setSmDssapellido(String smDssapellido) {
		this.smDssapellido = smDssapellido;
	}

	public String getSmDssnombre() {
		return this.smDssnombre;
	}

	public void setSmDssnombre(String smDssnombre) {
		this.smDssnombre = smDssnombre;
	}

	public String getSmDstelefono1() {
		return this.smDstelefono1;
	}

	public void setSmDstelefono1(String smDstelefono1) {
		this.smDstelefono1 = smDstelefono1;
	}

	public String getSmDstelefono2() {
		return this.smDstelefono2;
	}

	public void setSmDstelefono2(String smDstelefono2) {
		this.smDstelefono2 = smDstelefono2;
	}

	public Date getSmFhingreso() {
		return this.smFhingreso;
	}

	public void setSmFhingreso(Date smFhingreso) {
		this.smFhingreso = smFhingreso;
	}

	public Date getSmFhmodificacion() {
		return this.smFhmodificacion;
	}

	public void setSmFhmodificacion(Date smFhmodificacion) {
		this.smFhmodificacion = smFhmodificacion;
	}

	public Date getSmFhretiro() {
		return this.smFhretiro;
	}

	public void setSmFhretiro(Date smFhretiro) {
		this.smFhretiro = smFhretiro;
	}
	
	

	public String getSmdstipoidentificacion() {
		return smdstipoidentificacion;
	}

	public void setSmdstipoidentificacion(String smdstipoidentificacion) {
		this.smdstipoidentificacion = smdstipoidentificacion;
	}

	public List<SmartMedico> getSmartMedicos() {
		return this.smartMedicos;
	}

	public void setSmartMedicos(List<SmartMedico> smartMedicos) {
		this.smartMedicos = smartMedicos;
	}

	public SmartMedico addSmartMedico(SmartMedico smartMedico) {
		getSmartMedicos().add(smartMedico);
		smartMedico.setSmartPersona(this);

		return smartMedico;
	}

	public SmartMedico removeSmartMedico(SmartMedico smartMedico) {
		getSmartMedicos().remove(smartMedico);
		smartMedico.setSmartPersona(null);

		return smartMedico;
	}

	public List<SmartPaciente> getSmartPacientes() {
		return this.smartPacientes;
	}

	public void setSmartPacientes(List<SmartPaciente> smartPacientes) {
		this.smartPacientes = smartPacientes;
	}

	public SmartPaciente addSmartPaciente(SmartPaciente smartPaciente) {
		getSmartPacientes().add(smartPaciente);
		smartPaciente.setSmartPersona(this);

		return smartPaciente;
	}

	public SmartPaciente removeSmartPaciente(SmartPaciente smartPaciente) {
		getSmartPacientes().remove(smartPaciente);
		smartPaciente.setSmartPersona(null);

		return smartPaciente;
	}

}